{\rtf1\ansi\deff1\adeflang1025
{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset0 Thorndale{\*\falt Times New Roman};}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset0 Thorndale{\*\falt Times New Roman};}{\f4\fswiss\fprq2\fcharset0 Albany{\*\falt Arial};}{\f5\fswiss\fprq2\fcharset0 Verdana;}{\f6\fmodern\fprq1\fcharset0 Cumberland{\*\falt Courier New};}{\f7\fmodern\fprq1\fcharset0 Courier New;}{\f8\fnil\fprq0\fcharset2 StarSymbol{\*\falt Arial Unicode MS};}{\f9\froman\fprq2\fcharset0 Times New Roman;}{\f10\fswiss\fprq2\fcharset0 Lucida Sans Unicode;}{\f11\fnil\fprq2\fcharset0 Lucida Sans Unicode;}{\f12\fnil\fprq2\fcharset0 Tahoma;}{\f13\fnil\fprq0\fcharset0 Tahoma;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue128;\red128\green0\blue0;\red0\green0\blue255;\red139\green0\blue139;\red255\green0\blue0;\red0\green100\blue0;\red25\green25\blue112;\red255\green0\blue255;\red128\green128\blue128;}
{\stylesheet{\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\snext1 Normal;}
{\s2\sb240\sa120\keepn\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af12\afs28\lang1031\ltrch\dbch\af11\langfe255\hich\f2\fs28\lang1033\loch\f2\fs28\lang1033\sbasedon1\snext3 Heading;}
{\s3\sa120\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon1\snext3 Body Text;}
{\s4\sa120\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon3\snext4 List;}
{\s5\sb120\sa120\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af13\afs24\lang1031\ai\ltrch\dbch\langfe255\hich\fs24\lang1033\i\loch\fs24\lang1033\i\sbasedon1\snext5 caption;}
{\s6\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af13\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon1\snext6 Index;}
{\s7\sb240\sa120\keepn\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs32\lang1031\ab\ltrch\dbch\af4\langfe255\hich\f4\fs32\lang1033\b\loch\f4\fs32\lang1033\b\sbasedon8\snext3{\*\soutlvl0} heading 1;}
{\s8\sb240\sa120\keepn\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033\sbasedon1\snext3 Heading;}
{\s9\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033\sbasedon1\snext1{\*\soutlvl1} heading 2;}
{\s10\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs24\lang1031\ab\ltrch\dbch\af4\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b\sbasedon1\snext1{\*\soutlvl2} heading 3;}
{\s11\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs24\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs24\lang1033\loch\f4\fs24\lang1033\sbasedon1\snext1{\*\soutlvl3} heading 4;}
{\s12\sb240\sa120\keepn\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs21\lang1031\ab\ltrch\dbch\af4\langfe255\hich\f4\fs21\lang1033\b\loch\f4\fs21\lang1033\b\sbasedon8\snext3 Heading 10;}
{\s13\cf1\tqc\tx4819\tqr\tx9638{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon1\snext13 footer;}
{\s14\sa120\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon3\snext14 Table Contents;}
{\s15\sa120\cf1\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ai\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\i\b\loch\fs24\lang1033\i\b\sbasedon14\snext15 Table Heading;}
{\s16\sb120\sa120\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs20\lang1031\ai\ltrch\dbch\langfe255\hich\fs20\lang1033\i\loch\fs20\lang1033\i\sbasedon1\snext16 caption;}
{\s17\sb120\sa120\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs20\lang1031\ai\ltrch\dbch\langfe255\hich\fs20\lang1033\i\loch\fs20\lang1033\i\sbasedon16\snext17 Text;}
{\s18\li283\ri0\lin283\rin0\fi-283\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs20\lang1031\ltrch\dbch\langfe255\hich\fs20\lang1033\loch\fs20\lang1033\sbasedon1\snext18 footnote text;}
{\s19\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon1\snext19 Index;}
{\s20\sb240\sa120\keepn\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af5\afs32\lang1031\ab\ltrch\dbch\af5\langfe255\hich\f5\fs32\lang1033\b\loch\f5\fs32\lang1033\b\sbasedon8\snext20 Contents Heading;}
{\s21\cf1\tldot\tqr\tx9638{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033\sbasedon19\snext21 toc 1;}
{\s22\li283\ri0\lin283\rin0\fi0\cf1\tldot\tqr\tx9638{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033\sbasedon19\snext22 toc 2;}
{\s23\sb240\sa120\keepn\cf1\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs36\lang1031\ab\ltrch\dbch\af4\langfe255\hich\f4\fs36\lang1033\b\loch\f4\fs36\lang1033\b\sbasedon8\snext24 Title;}
{\s24\sb240\sa120\keepn\cf1\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ai\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\i\loch\f4\fs28\lang1033\i\sbasedon8\snext3 Subtitle;}
{\s25\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang1031\ltrch\dbch\af6\langfe255\hich\f6\fs20\lang1033\loch\f6\fs20\lang1033\sbasedon1\snext25 Preformatted Text;}
{\s26\li283\ri283\lin283\rin283\fi0\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af7\afs24\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs24\lang1033\loch\f7\fs24\lang1033\sbasedon1\snext26 code;}
{\s27\cf1\tqc\tx4803\tqr\tx9606{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon1\snext27 footer;}
{\s28\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033\sbasedon1\snext28 Table Contents;}
{\s29\cf1\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ai\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\i\b\loch\fs24\lang1033\i\b\sbasedon28\snext29 Table Heading;}
{\*\cs31\cf0\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe1031\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031 Default Paragraph Font;}
{\*\cs32\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Footnote Symbol;}
{\*\cs33\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0\sbasedon31 page number;}
{\*\cs34\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Drop Caps;}
{\*\cs35\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Numbering Symbols;}
{\*\cs36\cf1\rtlch\af8\afs18\lang1031\ltrch\dbch\af8\langfe255\hich\f8\fs18\lang0\loch\f8\fs18\lang0 Bullet Symbols;}
{\*\cs37\cf2\ul\ulc0\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Internet link;}
{\*\cs38\cf3\ul\ulc0\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Visited Internet Link;}
{\*\cs39\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Index Link;}
{\*\cs40\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Endnote Symbol;}
{\*\cs41\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Line numbering;}
{\*\cs42\cf1{\*\updnprop10000}\up2\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Footnote anchor;}
{\*\cs43\cf1{\*\updnprop10000}\up2\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Endnote anchor;}
{\*\cs44\cf1\rtlch\af1\afs12\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs12\lang0\loch\f1\fs12\lang0 Rubies;}
{\*\cs45\cf1\rtlch\af1\afs24\lang1031\ai\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\i\loch\f1\fs24\lang0\i\sbasedon31 Emphasis;}
{\*\cs46\cf1\rtlch\af1\afs24\lang1031\ai\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\i\loch\f1\fs24\lang0\i Citation;}
{\*\cs47\cf1\rtlch\af1\afs24\lang1031\ab\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\b\loch\f1\fs24\lang0\b Strong Emphasis;}
{\*\cs48\cf1\rtlch\af6\afs24\lang1031\ltrch\dbch\af6\langfe255\hich\f6\fs24\lang0\loch\f6\fs24\lang0 Source Text;}
{\*\cs49\cf1\rtlch\af6\afs24\lang1031\ltrch\dbch\af6\langfe255\hich\f6\fs24\lang0\loch\f6\fs24\lang0 Example;}
{\*\cs50\cf1\rtlch\af6\afs24\lang1031\ltrch\dbch\af6\langfe255\hich\f6\fs24\lang0\loch\f6\fs24\lang0 User Entry;}
{\*\cs51\cf1\rtlch\af1\afs24\lang1031\ai\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\i\loch\f1\fs24\lang0\i Variable;}
{\*\cs52\cf1\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe255\hich\f1\fs24\lang0\loch\f1\fs24\lang0 Definition;}
{\*\cs53\cf1\rtlch\af6\afs24\lang1031\ltrch\dbch\af6\langfe255\hich\f6\fs24\lang0\loch\f6\fs24\lang0 Teletype;}
{\*\cs54\cf1\rtlch\af7\afs24\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs24\lang0\loch\f7\fs24\lang0 Code;}
{\*\cs55\cf4\ul\ulc0\rtlch\af1\afs24\lang1031\ltrch\dbch\af1\langfe1031\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\sbasedon31 Internet link;}
}
{\info{\creatim\yr2006\mo2\dy7\hr13\min59}{\revtim\yr1601\mo1\dy1\hr0\min0}{\printim\yr1601\mo1\dy1\hr0\min0}{\comment StarWriter}{\vern6800}}\deftab1250
{\*\pgdsctbl
{\pgdsc0\pgdscuse195\pgwsxn11906\pghsxn16838\marglsxn1170\margrsxn1130\margtsxn1134\margbsxn1440\footery0{\*\footeryt274\footerxl0\footerxr0\footeryh557}{\footer \pard\plain \s13\cf1\tqc\tx4819\tqr\tx9638{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 \tab \'a9 Mike Kr\'fcger 2004, Daniel Grunwald 2005\tab {\field{\*\fldinst \\page\\* ARABIC}{\fldrslt 4}}}
\par }
\pgdscnxt0 Standard;}}
{\*\pgdscno0}\paperh16838\paperw11906\margl1170\margr1130\margt1134\margb1440\sectd\sbknone\pgwsxn11906\pghsxn16838\marglsxn1170\margrsxn1130\margtsxn1134\margbsxn1997\footery1440{\footer \pard\plain \s13\cf1\tqc\tx4819\tqr\tx9638{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 \tab \'a9 Mike Kr\'fcger 2004, Daniel Grunwald 2005\tab {\field{\*\fldinst \\page\\* ARABIC}{\fldrslt 4}}}
\par }
\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
\pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs48\lang1031\ab\ltrch\dbch\af2\langfe255\hich\f2\fs48\lang1033\b\loch\f2\fs48\lang1033\b {\rtlch \ltrch\loch\f2\fs48\lang1033\i0\b Technotes, HowTo Series}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs56\lang1031\ab\ltrch\dbch\af2\langfe255\hich\f2\fs56\lang1033\b\loch\f2\fs56\lang1033\b 
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs56\lang1031\ab\ltrch\dbch\af0\langfe255\hich\f2\fs56\lang1033\b\loch\f2\fs56\lang1033\b {\rtlch \ltrch\loch\f2\fs56\lang1033\i0\b AddIn Building Guide}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs32\lang1031\ab\ltrch\dbch\af2\langfe255\hich\f2\fs32\lang1033\b\loch\f2\fs32\lang1033\b {\rtlch \ltrch\loch\f2\fs32\lang1033\i0\b Version 2.0 (not finished)}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs24\lang1031\ab\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\b\loch\f2\fs24\lang1033\b 
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\f2\fs24\lang1033\i0\b{\b{\f2 Version 1.0 by Mike Kr}}}{\b{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b \'fc{\f2 ger, }}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\field{\*\fldinst HYPERLINK "mailto:mike@icsharpcode.net" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031{\b\ul\ulc0\f2\cf2 mike@icsharpcode.net}}}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\f2\fs24\lang1033\i0\b{\b\f2 Version 2.0 by Daniel Grunwald, }}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\field{\*\fldinst HYPERLINK "mailto:daniel@danielgrunwald.de" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031{\b\ul\ulc0\f2\cf2 daniel@danielgrunwald.de}}}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs22\lang1031\ltrch\dbch\langfe255\hich\fs22\lang1033\loch\fs22\lang1033 
\par \sect\sbknone\cols1\ltrsect
\pard\plain \ltrpar\s20\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\rtlch\af5\afs32\lang1031\ab\ltrch\dbch\af5\langfe255\hich\f5\fs32\lang1033\b\loch\f5\fs32\lang1033\b {\rtlch \ltrch\loch\f5\fs32\lang1033\i0\b Contents}
\par \pard\plain \ltrpar\s21\cf1\tldot\tqr\tx9638{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779115" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\ul\ulc0\lang1024\cf4 1 About the AddIn Building Guide\tab }}}
\par \pard\plain \ltrpar\s21\cf1\tldot\tqr\tx9638{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779116" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\ul\ulc0\lang1024\cf4 2 File Organization\tab }}}
\par \pard\plain \ltrpar\s22\cf1\tldot\tqr\tx9638\aspalpha\li283\ri0\lin283\rin0\fi0\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779117" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\*\cs30\cf0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\v0\charscalex100\accnone\horzvert0\b0\ul\ulc0\shad0\i0\lang1024\fs24\f2\strike0\outl0\cf4\caps0\scaps0 3 Setting up the project\tab }}}
\par \pard\plain \ltrpar\s22\cf1\tldot\tqr\tx9638\aspalpha\li283\ri0\lin283\rin0\fi0\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779118" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\*\cs30\cf0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\v0\charscalex100\accnone\horzvert0\b0\ul\ulc0\shad0\i0\lang1024\fs24\f2\strike0\outl0\cf4\caps0\scaps0 3.1 Project properties\tab }}}
\par \pard\plain \ltrpar\s22\cf1\tldot\tqr\tx9638\aspalpha\li283\ri0\lin283\rin0\fi0\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779119" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\*\cs30\cf0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\v0\charscalex100\accnone\horzvert0\b0\ul\ulc0\shad0\i0\lang1024\fs24\f2\strike0\outl0\cf4\caps0\scaps0 3.2 The .addin file\tab }}}
\par \pard\plain \ltrpar\s21\cf1\tldot\tqr\tx9638\aspalpha\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779120" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\*\cs30\cf0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\v0\charscalex100\accnone\horzvert0\b0\ul\ulc0\shad0\i0\lang1024\fs24\f2\strike0\outl0\cf4\caps0\scaps0 4 Using Resources\tab }}}
\par \pard\plain \ltrpar\s22\cf1\tldot\tqr\tx9638\aspalpha\li283\ri0\lin283\rin0\fi0\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779121" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\*\cs30\cf0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\v0\charscalex100\accnone\horzvert0\b0\ul\ulc0\shad0\i0\lang1024\fs24\f2\strike0\outl0\cf4\caps0\scaps0 4.1 XmlForms and other files\tab }}}
\par \pard\plain \ltrpar\s22\cf1\tldot\tqr\tx9638\aspalpha\li283\ri0\lin283\rin0\fi0\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779122" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\*\cs30\cf0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\v0\charscalex100\accnone\horzvert0\b0\ul\ulc0\shad0\i0\lang1024\fs24\f2\strike0\outl0\cf4\caps0\scaps0 4.2 Bitmaps\tab }}}
\par \pard\plain \ltrpar\s22\cf1\tldot\tqr\tx9638\aspalpha\li283\ri0\lin283\rin0\fi0\rtlch\af2\afs24\lang1031\ltrch\dbch\af2\langfe255\hich\f2\fs24\lang1033\loch\f2\fs24\lang1033{\field{\*\fldinst HYPERLINK \\l "_Toc120779123" }{\fldrslt \*\cs55\cf4\ul\ulc0\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch\f2\fs24\lang1024\i0\b0\*\cs30\cf0\rtlch\ltrch\dbch\hich\f1\fs24\lang1031\loch\f1\fs24\lang1031\v0\charscalex100\accnone\horzvert0\b0\ul\ulc0\shad0\i0\lang1024\fs24\f2\strike0\outl0\cf4\caps0\scaps0 4.3 Strings (localization)\tab }}}
\par \sect\sbknone\cols1{\*\swcolmnblnc}\ltrsect
\pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs22\lang1031\ltrch\dbch\langfe255\hich\fs22\lang1033\loch\fs22\lang1033 
\par \pard\plain \ltrpar\s7\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\rtlch\af4\afs32\lang1031\ab\ltrch\dbch\af4\langfe255\hich\f4\fs32\lang1033\b\loch\f4\fs32\lang1033\b {\rtlch \ltrch\loch\f4\fs32\lang1033\i0\b {\*\bkmkstart _Toc120779115}1 About the AddIn Building Guide{\*\bkmkend _Toc120779115}}
\par \pard\plain \ltrpar\s3\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 This document may be read as a guide to writing {\f10 \u9839\'3f}Develop which comply with the building scheme and it gives an introduction about how {\f10 \u9839\'3f}Develop is build. It is not a documentation about how SharpDevelop can be extended.}
\par \pard\plain \ltrpar\s7\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\rtlch\af4\afs32\lang1031\ab\ltrch\dbch\af4\langfe255\hich\f4\fs32\lang1033\b\loch\f4\fs32\lang1033\b {\rtlch \ltrch\loch\f4\fs32\lang1033\i0\b {\*\bkmkstart _Toc120779116}2 File Organization{\*\bkmkend _Toc120779116}}
\par \pard\plain \ltrpar\s1\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Each AddIn should have an own directory somewhere inside the src\\ folder and it should provide a project file that is used to build/clean the project.}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Your AddIn has an own directory and the root folder contains a solution file. Inside the root folder, there can be two subdirectories: Project and Test. 'Project' is the Addin itself, 'Test' is a set of unit tests for the AddIn (unit test source files and 
project file).}
\par \pard\plain \ltrpar\s1\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The 'Project' directory contains the following subdirectories and files:}
\par \trowd\trql\trleft0\trhdr\trkeep\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2056\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx5208\clbrdrt\brdrs\brdrw1\brdrcf1\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9606
\pard\intbl\pard\plain \intbl\ltrpar\s15\cf1\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ai\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\i\b\loch\fs24\lang1033\i\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i\b Name}
\cell\pard\plain \intbl\ltrpar\s15\cf1\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ai\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\i\b\loch\fs24\lang1033\i\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i\b Contents}
\cell\pard\plain \intbl\ltrpar\s15\cf1\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ai\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\i\b\loch\fs24\lang1033\i\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i\b Description}
\cell\row\pard \trowd\trql\trleft0\trkeep\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2056\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx5208\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9606
\pard\intbl\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Pro{\lang1031 jectName.csproj}}
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1031\loch\fs24\lang1031 {\rtlch \ltrch\loch\f1\fs24\lang1031\i0\b0 MSBuild file}
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Project file for the addin}
\cell\row\pard \trowd\trql\trleft0\trkeep\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2056\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx5208\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9606
\pard\intbl\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Pro{\lang1031 jectName.addin}}
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 AddIn definition file}
\cell\pard\plain \intbl\ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Contains the xml code for the XML tree.\line Should use 'CopyToOutputDirectory'.}
\cell\row\pard \trowd\trql\trleft0\trkeep\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2056\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx5208\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9606
\pard\intbl\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Src\\}
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Source code files}
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Here is the source code for your add-in}
\cell\row\pard \trowd\trql\trleft0\trkeep\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2056\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx5208\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9606
\pard\intbl\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Resources\\}
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Any type of file }
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Here are all resources which are compiled into the add-in assembly}
\cell\row\pard \trowd\trql\trleft0\trkeep\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2056\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx5208\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9606
\pard\intbl\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Doc\\}
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Documentation (not in *.doc format; use .txt or .html if you need formatting)}
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Here may lie documentation to the add-in}
\cell\row\pard \trowd\trql\trleft0\trkeep\trpaddft3\trpaddt55\trpaddfl3\trpaddl55\trpaddfb3\trpaddb55\trpaddfr3\trpaddr55\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx2056\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\cellx5208\clbrdrl\brdrs\brdrw1\brdrcf1\clbrdrb\brdrs\brdrw1\brdrcf1\clbrdrr\brdrs\brdrw1\brdrcf1\cellx9606
\pard\intbl\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 RequiredLibraries\\}
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 *.dll files}
\cell\pard\plain \intbl\ltrpar\s14\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Here are libraries that the add-in uses in binary form}
\cell\row\pard \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 
\par \pard\plain \ltrpar\s9\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033 {\rtlch \ltrch\loch\f4\fs28\lang1033\i0\b0 {\*\bkmkstart _Toc120779117}3 Setting up the project{\*\bkmkend _Toc120779117}}
\par \pard\plain \ltrpar\s3\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 You can create a test addin project by using the \'84SharpDevelop AddIn\'93 template. Note that it won't compile out of the box, you are only given a directory structure with some file to get you started a little faster.}
\par \pard\plain \ltrpar\s3\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The first thing you need to do it set the project properties.}
\par \pard\plain \ltrpar\s9\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033 {\rtlch \ltrch\loch\f4\fs28\lang1033\i0\b0 {\*\bkmkstart _Toc120779118}3.1 Project properties{\*\bkmkend _Toc120779118}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Set the project output path to some subfolder inside SharpDevelop/AddIns/AddIns. If you're AddIn won't be distributed with SharpDevelop, put it in its own subfolder inside SharpDevelop/AddIns/3rdparty.}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 What the template didn't do for you, either, is setting up the references to SharpDevelop. You will need a reference to ICSharpCode.Core.dll and ICSharpCode.SharpDevelop.dll. Set 'copy reference to output path' to {\b false} on these two references.}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 
\par \pard\plain \ltrpar\s9\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033 {\rtlch \ltrch\loch\f4\fs28\lang1033\i0\b0 {\*\bkmkstart _Toc120779119}3.2 The .addin file{\*\bkmkend _Toc120779119}}
\par \pard\plain \ltrpar\s1\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The .addin file is the most important file of your addin. You can specify there what parts of SharpDevelop your addin is extending. Your actual addin library (.dll) will only be loaded when it is first needed.}
\par \pard\plain \ltrpar\s1\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 When you create a new AddIn using the template, the following file has already been generated for you:}
\par \pard\plain \ltrpar\s1\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\f7\fs20\lang0\i0\b0\*\cs54\cf1\rtlch\ltrch\dbch\hich\f7\fs24\lang0\loch\f7\fs24\lang0\fs20{\cf5 <AddIn }}{\rtlch \ltrch\loch\f7\fs20\lang0\i0\b0\*\cs54\cf1\rtlch\ltrch\dbch\hich\f7\fs24\lang0\loch\f7\fs24\lang0\fs20{\cf6 name        }{\cf4 = "MyAddInName"}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\cf4        }{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf6 author      }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf4 = "username"}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\cf4        }{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf6 copyright   }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf4 = "GNU General Public License"}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\cf4        }{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf6 url         }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf4 = ""}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\cf4        }{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf6 description }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf4 = "TODO: Put description here"}{\cf5 >}}
\par \pard\plain \ltrpar\s1\cf5{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033 {\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0 \tab }
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs20\lang1031\ltrch\dbch\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033 {\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0 \tab {<Runtime>}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf5 \tab \tab <Import }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 assembly }{\cf4 = "MyAddInName.dll"}{\cf5 />}}
\par \pard\plain \ltrpar\s1\cf5{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033 {\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0 \tab </Runtime>}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs20\lang1031\ltrch\dbch\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033 {\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0 \tab }
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf5 \tab <Path }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 name }{\cf4 = "/SharpDevelop/Workbench/Pads"}{\cf5 >}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf5 \tab \tab <Pad }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 id       }{\cf4 = "MyAddInNamePad"}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf4 \tab \tab      }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 category }{\cf4 = "Main"}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf4 \tab \tab      }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 title    }{\cf4 = "MyAddInNamePad"}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf4 \tab \tab      }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 icon     }{\cf4 = "PadIcons.NUnitTest"}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf4 \tab \tab      }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 shortcut }{\cf4 = "Control|Alt|T"}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf4 \tab \tab      }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0{\cf6 class    }{\cf4 = "MyAddInName.TestPad"}{\cf5 />}}
\par \pard\plain \ltrpar\s1\cf5{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af7\afs20\lang1031\ltrch\dbch\af7\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033 {\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0 \tab </Path>}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs20\lang1031\ltrch\dbch\af0\langfe255\hich\f7\fs20\lang1033\loch\f7\fs20\lang1033 {\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0 </AddIn>}
\par \pard\plain \ltrpar\s1\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 
\par \pard\plain \ltrpar\s3\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 This demonstrates how an .addin file works: the <Runtime> section describes what assemblies are used by the AddIn. Then any number of extension paths is following. This way, you can insert elements into the AddInTree. {\fs20\f7\cf4 MyAddInName.TestPad }is a class defined
 in MyAddInName.dll. That assembly is only loaded, when the instance of the class is created. This is not when SharpDevelop is started, but when the pad {\b content} is shown first. So a pad that is in the background since the start of SharpDevelop won't cause 
the assembly to be loaded.}
\par \pard\plain \ltrpar\s3\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 For more information about the possible extensions paths and how the AddinTree works in detail, read the document \'84AddInTree\'93 in this folder.}
\par \pard\plain \ltrpar\s3\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The addin file is not compiled into the assembly but copied to the output directory (BuildAction=None, CopyToOuputDirectory=Always; the template should already have set these properties for you).}
\par \pard\plain \ltrpar\s7\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\rtlch\af4\afs32\lang1031\ab\ltrch\dbch\af4\langfe255\hich\f4\fs32\lang1033\b\loch\f4\fs32\lang1033\b {\rtlch \ltrch\loch\f4\fs32\lang1033\i0\b {\*\bkmkstart _Toc120779120}4 Using Resources{\*\bkmkend _Toc120779120}}
\par \pard\plain \ltrpar\s9\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033 {\rtlch \ltrch\loch\f4\fs28\lang1033\i0\b0 {\*\bkmkstart _Toc120779121}4.1 XmlForms and other files{\*\bkmkend _Toc120779121}}
\par \pard\plain \ltrpar\s3\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The template demonstrates the use of resource files by using a XmlForms to display the pad content. Your AddIn does not need to use XmlForms, the template just shows the use of resources (and XmlForms).}
\par \pard\plain \ltrpar\s3\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 You can put any files into the Resources directory (see table in chapter 2.1). Set the build type to 'EmbeddedResource' and file will be compiled into the assembly. You can then access the file by using {\fs20\f7 Assembly{\cf7 .}{\b\cf8 GetExecutingAssembly}{\cf7 ().}{\b\cf8 GetManifestResourceSt
ream}{\cf7 (}{\cf9 "MyAddInName.Resources.MyUserControl.xfrm"}{\cf7 )}}{\cf0 .}}
\par \pard\plain \ltrpar\s3\cf1\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\cf0 Unlike SharpDevelop 1.x, the compiler will prepend the resource files name with the root namespace in the project settings and the folder it is stored within the project. Therefore, the file name MyUserControl.xfrm gets expanded to }}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\fs20\f7{\cf6 MyAddInName}}{\fs20\f7{\cf9 .Resources.}{\cf2 My
UserControl.xfrm}}{\cf0 .}}
\par \pard\plain \ltrpar\s3\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 GetManifestResourceStream returns a stream, so don't forget to close it when you are finished.}
\par \pard\plain \ltrpar\s9\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033 {\rtlch \ltrch\loch\f4\fs28\lang1033\i0\b0 {\*\bkmkstart _Toc120779122}4.2 Bitmaps{\*\bkmkend _Toc120779122}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 There are two types of bitmaps:}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b\b 1. Bitmaps you need in your addin}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Just put the bitmaps in the Resources directory and set the action to 'EmbedAsResource'. You can then use {\fs20\f7 Assembly.GetExecutingAssembly().GetManifestResourceStream("RootNamespace.Resources.MyImage.png")}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 to get a stream to the resource file. You can create a bitmap from that stream, and then dispose the stream.}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Q: Can I use a resource file (*.resources/*.resx), wouldn't this make things easier?}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 A: Yes and No. It would be harder to alter the bitmap. I know that most bitmaps won't be altered during their life. The main reason for doing this is that #Develop may be ported to a newer .NET Version and the resource files will be broken onto the next .N
ET version. }
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 This will make it more difficult to bring #Develop to the new framework. I recommend all people not storing anything other than strings into resource files. Binary data is a 100% no go.}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\b\loch\fs24\lang1033\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b 2. Bitmaps for the ResourceService}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Bitmaps must be registered before they can be used in the ResourceService. The ResourceService is used for the icons of the pads and menu items.}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Currently, there is no easy way to make the ResourceService aware of icons supplied with your Addin. The easiest way to add new bitmaps is to go into the SharpDevelopResources/BitmapResources directory and put your bitmaps in a subdirectory.}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Then you can edit the {\b text file} SharpDevelopResources/BitmapResources/BitmapResources.res and include a line for your bitmap (do this near the lines of the other bitmaps of the same subdirectory). Call BitmapResources/build.bat and the resources will be co
mpiled and inserted into the StartUp project (SharpDevelop.exe). Compile SharpDevelop using SharpDevelop/src/build.bat to finally use the new resource file.}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 There is also another possible way when you want to distribute your resources separately: Make a separate directory like  SharpDevelopResources/BitmapResources for your project and use a similar build file to build the bitmaps in to a BitmapResources.resou
rces binary file. Do not edit the BitmapResources.resources file directly, always use the build script (see question in the previous section)! Then add the BitmapResources.resources file to your addin project and set \'93Copy to output directory\'94 to \'93Always\'94.
 To register the file in the ResourceService, add this line to the *.addin file:}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf5 <BitmapResources }}{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7{\cf6 file}{\cf4 ="Resources\\MyAddinBitmapResources.resources" }{\cf5 />}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 
\par \pard\plain \ltrpar\s9\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af4\afs28\lang1031\ltrch\dbch\af4\langfe255\hich\f4\fs28\lang1033\loch\f4\fs28\lang1033 {\rtlch \ltrch\loch\f4\fs28\lang1033\i0\b0 {\*\bkmkstart _Toc120779123}4.3 Strings (localization){\*\bkmkend _Toc120779123}}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 For localizable strings, you can use SharpDevelop's resource service.}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 To request a localized string, use StringParser.Parse(\'93$\{res:FullResourceName\}\'94).}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The string resource names should be in the format \'93YourAddInName.ResourceName\'94.}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 In all strings in the XML addin definition file; in XmlForms and for the MessageService, resource access in \'93$\{...\}\'94 are automatically resolved, you do not need to call StringParser.Parse there.}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\b\loch\fs24\lang1033\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b How to supply your strings:}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Add a .resources file to the \'93Resources\'94 directory of your addin (SharpDevelop has a template in the \'93Misc\'94 section). You should name it \'93StringResources.resources\'94.}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 In this file, you enter the \'93fall back\'94 values when a resource entry is not found in a language-specific file. Normally, the US-English strings should be placed in that file.}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Put the translated strings in files like \'93StringResources.de.resources\'94 in the resource directory (\'93de\'94 is the language code). The translated strings will be automatically compiled into satellite assemblies.}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ab\ltrch\dbch\langfe255\hich\fs24\lang1033\b\loch\fs24\lang1033\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b How to make SharpDevelop aware of your strings:}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Run the following command when your strings are needed the first time:}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033{\rtlch \ltrch\loch\f7\fs20\lang1033\i0\b0\fs20\f7 ResourceService{\cf7 .}RegisterStrings({\cf4 "MyAddinName.Resources.StringResources"}{\cf7 ,\line                                 }{\b\cf8 GetType}{\cf7 ().}Assembly)}
\par \pard\plain \ltrpar\s1\cf1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\afs24\lang1031\ltrch\dbch\langfe255\hich\fs24\lang1033\loch\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 This will make SharpDevelop load the strings and merge them into the ResourceService. The correct satellite assembly will automatically be (re)loaded whenever the user changes the UI language.}
\par }